@Running Modes
   There are five running modes provided by GAF:
   control, monitor, check segment, simulation, and
   adapt.  Note that control and monitor modes are
   not supported for current release.

   Control Mode
       The control mode provides users for online
       control and limited user interfaces for
       interacting with the real control environment
       and fuzzy rule segments.  The output of all
       segments are routed through output
       channels, and the inputs are brought in
       through the input channels.

   Monitor Mode
       The monitor mode provides users for online
       monitoring and analyzing the real control
       environment and fuzzy rules.  The output of
       all segments are for display only, they are
       NOT routed through output channels, but the
       inputs are brought in through the input
       channels.

   Check Segment
       This feature allows user to examine one
       segment at a time.  Combined with other
       segment functions, such as preset and modify
       variables, user can check the response of
       the selected segment with fixed (constant) or
       manual values for inputs and local variables.

   Simulation Mode
       The simulation mode offers user to simulate
       the system with feedback or emulation
       segment(s) for integration test.  The
       emulation can be user defined segment(s) or
       user provided data set with EMUL_SEGMENT or
       FEEDBACK keyword.  The simulation
       environment allows user to tune up and debug
       control system with features such as single
       step and others.  Please refer to Emulation
       section for more details about feedback
       segments.

   Adapt mode
       The adapt mode provides an offline
       adaptation of the fuzzy control system.  An
       evaluation segment and its corresponding
       evaluation result score (an output variable)
       must be specified.  When adapt mode is
       selected, GAF automatically optimizes the
       control segment by adjusting/adding/deleting
       rules and adjusting fuzzy membership sets. 
       Please refer to the Adaptation section for
       more details of genetic-adaptation and also
       refer to FCL.DOC for defining an evaluation
       segment.

1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@Schedule Policy
       There are four different time modes: real
       time mode, simulated time mode, sim-schedule
       mode, and 24 hours clock mode.  The real time
       mode uses actual system clock (computer
       clock) for scheduling the segments.  This mode
       is the only allowed mode for running in the
       control mode.  The following is an example of
       how real time mode schedules a three
       segments system with 0.1, 0.2, and 0.3 cycle
       time.  Assume that each segment takes 0.05
       second to run, and all three segments are
       enabled all the time.  GAF scheduling table
       will be:
           Sweep #    Time       Seg 1  Seg 2  
Seg 3
           --------   --------   --------   --
------ --------
              1   0.00       Run    Run     
Run
              2   0.15       Run    ---     --
-
              3   0.20       ---    Run     --
-
              4   0.25       Run    ---     --
-
              5   0.30       ---    ---     
Run

       Instead of using real system time, the
       simulated time mode uses fixed time interval
       to simulate the schedule rate for the
       system.  For example if the user specifies
       schedule interval is 0.1 second.  Then the
       above scheduling table will be:
           Sweep #    Time   Seg 1  Seg 2   Seg 3
           --------   --------   --------   --
------ --------
              1   0.0    Run     Run        Run
              2   0.1    Run     ---        ---
              3   0.2    Run     Run        ---
              4   0.3    Run     ---        Run
              5   0.4    Run     Run        ---

       The sim-schedule mode resembles the
       simulated time mode, except that it does not
       use the cycle time of each segment for
       scheduling.  Instead the sim-schedule mode
       uses the schedule rate for all segments, i.e.
       runs all segments all the time.  Therefor, the
       scheduling table will be:
           Sweep #    Time   Seg 1  Seg 2   Seg 3
           --------   --------   --------   --
------ --------
              1   0.0    Run     Run        Run
              2   0.1    Run     Run        Run
              3   0.2    Run     Run        Run
              4   0.3    Run     Run        Run
              5   0.4    Run     Run        Run

       The simulated clock mode is a variation of
       sim-schedule mode.  This mode allows user to
       simulate 24 hours clock within a single plot
       frame.


1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@Emulation
   An emulation segment is just like a control
   segment with EMUL_SEGMENT or FEEDBACK keyword
   instead of SEGMENT.  You can define the feedback
   segment with fuzzy rules, math formulas, or data
   tables.  Multiple feedback segments are allowed. 
   In simulation mode GAF automatically closes the
   control and feedback loop with the same variable
   names.  For example, if there is an input variable
   "POS_ERR" defined in the control segment, and it
   is also declared as an output in the feedback
   segment.  Then GAF automatically uses the output
   value from the feedback segment as the input
   value of the control segment.  On initialization,
   GAF searches through all segments to find
   matches among regular (control) and feedback
   segments.  Please refer to Fuzzy Control
   Language (FCL) guide for constructing a GAF
   segment.

   GAF supports two kinds of feedback modules.  The
   first one is using user data, from field measured
   data or generated from higher level model.  The
   other choice is to use user defined feedback
   segment.

   To use user data as feedback, user simply put
   data in a text file with spread sheet like format,
   i.e., one column per variable, with different
   variables in a row.  The data set must be an
   evenly distributed complete data set with both
   input and output variables declared as a normal
   segment.  GAF only has limited capability to
   handle non-evenly distributed data set.  The
   output variables defined in this file will be
   treated as output of a feedback segment.

   Alternatively, user can use the combination of
   fuzzy rules and math processing (pre and post
   processing) to build an emulation segment to
   close the feedback loop in order to simulate the
   system.

   One of the important features in GAF is that you
   can tune your system by trying different
   schedule rate (or cycle time defined in each
   segment).  There are different time modes offered
   by simulation mode and check mode.  These time
   modes are: real time mode, simulated time mode,
   sim-schedule mode, and 24 hours clock mode. 
   Please refer to the Schedule Policy section for
   details about these time modes.


1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@GAF Adaptation
   While fuzzy logic mimics the human's imprecise
   reasoning, the genetic algorithm mimics the
   evolution of the nature.  The genetic algorithm
   uses randomization techniques to reach local
   optimum without exhausting searching through the
   solution state space.  With randomization, genetic
   algorithm is also capable of escaping from local
   optimum and hopping into a new better state.  GAF
   uses genetic algorithm to derive proper rules and
   fuzzy sets from the initial rules.  By changing,
   adding, deleting rules and fuzzy membership sets
   of the fuzzy system, the genetic algorithm
   automatically adapts and optimizes the fuzzy
   control system.

   Besides the feedback segment, the adapt mode
   also needs an evaluation segment for evaluating
   the result of adaptation.  With current release,
   user must build an evaluation segment and specify
   the result variable of  evaluation.  A canned
   evaluation will be supported in future release.

   Basics for Adaptation
       The basic concept of genetic-adaptation
       process is that GAF produces a new segment
       (by mutation or crossover from existing
       segment(s)) and then evaluates the new
       segment and compares its result against old
       ones (saved in the population pool).  If a
       better result is obtained, the new segment is
       inserted into the population pool and the
       worst one in the pool will be removed.

       After starting adapt, GAF evaluates the
       selected adapt segment and saves it on the
       top of the population pool.  The pool can save
       up to one hundred best generations in the
       order of their performance -- the evaluation
       result.   GAF then repeats the genetic-
       adaptation process -- creation, evaluation,
       and judging the result, until reaches a pre-
       specified maximum iteration or quit from the
       user.

   Reproduction from Elites
       One of the concept in genetic algorithm is
       that the fittest gets the highest chances to
       produce its off-springs, so it has the best
       chance to preserve its better genes.

       GAF uses weighed random to select one or two
       segments out of the population pool to
       reproduce a "next generation" based on one
       of the methods described under Adaptation
       Method.  So, the fittest generation, which has
       the best evaluation result, has the highest
       weight in the weighed random selection.

   Evaluation Criteria
       The evaluation process for genetic-adapt is
       defined as follow.  GAF runs through all
       preset cycles, which are preset conditions
       defined in evaluation and other segments. 
       After each cycle the result score from the
       evaluation segment (see Evaluation under
       Option menu for defining result variable) is
       compared to the minimum score.  If it is below
       the minimum and the population pool has been
       filled up, GAF stops further evaluation and
       delete this new generation.  Otherwise GAF
       keeps evaluation through all preset cycles. 
       The overall evaluation result will be the
       average score of all the preset cycles.

       User can specify the test time for preset
       test cycle and number of samples should be
       taken for evaluation.  The test time is used
       to run each preset test, then GAF samples
       the score result for the specified number of
       times.  The preset evaluation result will be
       the average of all samples, and the final
       result will be the average of all preset
       cycles.  For example, if the test time is two
       seconds and the number of samples is 4 (with
       0.1 sample rate), the total time for a preset
       cycle will be 2.3 seconds.

   Adaptation Method
       GAF uses weighed random to select one of the
       genetic algorithms for creating next
       generation.  GAF allows user to change all
       predefined methods used by GAF.  Followings
       are brief descriptions of these methods.

       Change rules
           The change rules method adapts the
           existing rules, i.e., modify existing rules
           with mutation and other algorithms.  No
           new rule  will be added and no rule will be
           disabled.

       Adjust input set
           The adjust input set method alters the
           fuzzy membership sets defined in the
           segment.  The following algorithms are
           used to modify the membership set.

           Mutate
              The mutate method randomly change
              one or two "cell" in the membership
              set.

           Crossover
              The crossover method uses two
              parent genes (two generations from
              the gene pool) to generate next
              generation by inheriting cells from
              either parent.

           Intensify/dilute
              The intensify method intensifies the
              membership set, the dilute method
              dilutes the membership set.

           Broaden/restrict
              This method either broaden or
              restrict the fuzzy membership set.

           Shift fuzzy set
              The shift method shifts the
              membership set along the value
              without changing its shape.

           Change truth
              This method alters the truth value
              of the selected fuzzy membership
              set.

       Adding new rule
           This method creates new generation by
           adding new rule to the segment.  The new
           rule is created with the same way as
           described in change rule.

       Enable and disable rule
           This method disable (or enable) rule to
           form a new segment.

       Alter cycle time
           This method creates new generation by
           modifying the cycle time of the old
           segment.  The range of cycle time can be
           specified with max and min under adapt
           menu.

       Alter output gain
           This method adjusts the output gain to
           form a new generation.



1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@System Menu
   The GAF system menu bar, at the top of the
   screen, is the primary user interface to the
   system.  The system menu bar contains following
   menu items: File, Run, Display, Option, Adapt,
   Method, Segment, and Help.  Use the first
   character of each menu item or use cursor keys
   (right/left arrows) to select the menu item.  When
   a menu item is selected a pull down menu appears
   to provide function selection.  To select a
   function item in a pull down menu either by the
   character on the left of that item or move the
   cursor with up/down arrow keys and then "Enter". 
   When a function item is selected, further
   secondary menu selection or data entry dialog
   may be provided by that function.  Except rule
   selection, all secondary menus and data entry
   dialogues are displayed immediately beneath the
   current pull down menu.  GAF uses rule text window
   for rule selection.  Press ESC in pull down menu
   will return to system menu (the menu bar).  Press
   ESC under system menu will bring up the Run menu,
   except when the system menu was ESCaped from
   any of the running mode (i.e. from adapting or
   simulation).  Before discussing each menu item in
   detail, the screen windows are explained for
   clarification.


1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@GAF Windows
   There are five types of system windows and four
   types of display windows.  The system windows
   are: menu window, hint window, adapt status
   window, segment title window, and segment display
   window.  The segment display window contains four
   sub-windows: rule text window (text window), trend
   plot window (plot window), combined result window
   (result window), and fuzzy rule firing window
   (firing window).

   Menu Window
       The menu window is at the top of the screen
       occupied by the system menu bar as described
       above.  In any of the run mode, the menu
       window is closed; use ESC or F10 to get back
       to system menu.

   Hint Window
       The hint window is at the bottom of the
       screen to provide user hints (available keys
       or functions) to the user.  Note that in run
       modes the hint window also displays the
       current schedule rate.

   Segment Title Window
       The segment title window (title window) shows
       the information for the selected segment,
       see Segment section for selecting a segment. 
       The title window is located immediately above
       segment display window.

   Adapt Status Window
       The adapt status window (adapt window) shows
       the status of genetic adaptation.  Adapt
       window only exists under genetic adapting
       mode, it is immediately above the title
       window.

   Segment Display Window
       The segment display window (display window)
       displays important status and information of
       the selected segment.  The display window
       occupies the most part of the screen
       immediately above the hint window.  There are
       four types of sub-windows inside display
       window for showing fuzzy rules and running
       status: rule text window (text window), trend
       plot window (plot window), combined result
       window (result window), and fuzzy rule firing
       window (firing window).  The place and area of
       these sub-windows can be rearranged by the
       user, please see Display menu section for
       rearranging display windows.

   Text Window
       The text window shows the rules and status
       of the rules for current selected segment. 
       Each rule is presented in a row with several
       columns associated with it.  The first column
       indicates whether the rule is disabled
       (marked with 'x') or fired (marked with '*').  The
       second column shows the rule number.  The
       rest of columns display the content of the
       rule, i.e., the fuzzy membership set symbol
       for corresponding inputs and outputs.  These
       content columns are presented, in different
       color, with inputs first then the outputs as
       the same sequence shown in the title window
       above it.  If local variables are selected
       (see Display section) the local variables are
       displayed after input variables.  In run
       modes, use cursor keys to scroll up, down,
       right, and left for undisplayed contents.
   
   Trend Plot Window
       The plot window draws the trend graph for all
       inputs, outputs, and selected local variables
       with time in x-axis and value in y-axis.  Each
       variable has its own sub-window, started
       from top to bottom, with the same sequence
       and color as in the text window.  See sub-
       section "Set Plot Time Frame" under Display
       for changing the frame duration.

   Combined Result Window
       The result window depicts the result for
       selected output of the segment.  The
       trapezoid result of all fired rules, which
       generate non-zero output, are in the upper
       portion of the window .  In the lower portion
       of the window the defuzzified result
       (combined result) and the output value are
       displayed.  Multiple outputs can be selected
       with split display area.  See sections
       Segment and Display for selecting output and
       arranging display window.

   Rule Firing Window
       The firing window shows the fuzzy inference
       status (firing condition) of selected rules. 
       This feature along with the stepping mode,
       under simulation or check segment, is the
       best way to tuneup or debug the control
       system.  You'll find the selected rule's fuzzy
       sets are displayed to the left of the
       combined result.  The corresponding input
       value for each set is plotted vertically in
       the same window.  Note that each fuzzy set
       input has the same color as in the text
       window.  Refer to Display section for
       arranging display window, and Segment
       section for selecting rules.

1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@File Menu
   The File menu provides the following functions:

   Q: Quit
       Select 'Q' or use ALT-Q to exit the program.

   O: Open segment
       Select this option to open a segment from the
       specified file, GAF will prompt for the name of
       the file.  If the default directory is
       specified  (command switch /DIR) and the
       entered file name does not contain path, the
       default directory will be searched for the
       specified file name.  The segment file can
       also be specified as the command arguments. 
       When open a new file segment a sequence
       number will be assigned to that segment as
       its segment ID.  The segment ID  is used for
       displaying segment title.

   C: Close segment
       Use to close a segment.  When selected, GAF
       pops secondary menu for a list of all
       segments for user to select appropriate
       segment to close.  Note that a closed segment
       will be marked as "disabled" for current
       release, i.e., the memory will not be released.

   B: Report selected best list
   A: Report all items in list
   R: Report file
       These options allow user to generate report
       about the item(s) in the best list (population
       pool).  Use 'R' to set the file name of the
       report, GAF prompts for the file name.  Use 'A'
       to report all items in the list, and use 'B' to
       select one out of the best list.  When 'B' is
       selected, GAF will prompt for the item number
       to be reported on.  The item number must be
       between 0 and less than the current
       population in the pool.

   L: Enable adapt log
   D: Enable detail log
   G: Log file to
       In adapt mode, GAF can generate a log file for
       user to review.  Use 'L' to enable (disable)
       the log, use 'D' to switch on (off) detail log. 
       Use 'G' to specify the log file name.

   E: Enable plot data
   P: Plot data to
       When enabled, GAF generates a data file for
       the result of each iteration.  The data file
       can be used by MyPlot to plot.  The 'P' option
       specifies the file name of the data file.

   S: Generate statistic log
   T: Statistic to
       These options allow user to generate
       statistic report about the adaptation.  Use
       'T' to set the file name of the statistic log. 
       The log includes statistics for all methods. 
       Based on the statistics you may want to
       adjust the weight of the adapt methods.


1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@Run Menu
   The Run menu provides different modes for
   running GAF system.  As mentioned, GAF offers
   following five running modes: control, monitor,
   check segment, simulation, and adapt.  Also
   provided is to terminate (quit) the program. 
   Although there are five running modes, they can
   be divided into two categories: the control
   (simulation) portion and the automatic adaptation. 
   While in any of the running modes, use ESC or F10
   to escape back to or bring up the system menu. 
   After bring up the system menu other functions
   provided by pull down menus are available except
   specifically noted.  Upon completion of other
   functions, ESC again will bring you back to
   original running mode.  Use Alt-Q to quit the
   program.


   Q: Quit the program
       Select this option or type 'Q' to quit the
       program.

   R: Control Mode
   M: Monitor Mode
       These two modes are disabled for current
       release.

   C: Check Segment
       Use this option to start checking the
       segment specified from the Segment menu. 
       Use Segment menu to select proper segment,
       then start the check mode by selecting this
       option.  Basically, the check mode is the same
       as simulation mode, except that only the
       selected segment is enabled.  For available
       options during checking, please see
       simulation mode's  user interfaces.

   Simulation Mode
       Use this option to start the simulation.  Note
       that you must have feedback or emulation
       segment(s) with EMUL_SEGMENT or FEEDBACK
       keyword.  Or use the Option menu to specify
       the feedback segment.

       When the mode is selected, the current
       selected segment will be displayed if it
       hasn't already been.  Use any of these keys,
       described as follow, to start the simulation.

       Under monitor, check segment, and simulation
       modes, the following interactive user
       interfaces are supported.
           C      : toggles on/off continuous mode
           F      : continue until the end of the
                    plot frame
           1 ~ 9  : run 1 ~ 9 steps
           0      : run 10 steps
           + -    : increase/decrease sample rate
                    (see below)
           enter  : single step
           ESC    : go to system menu bar
           alt-Q  : quit the program
           F1 ~ F8: see function keys
           cursor keys to scroll up, down, right, and
           left of text window

       All other keys, while not in continuous mode,
       are treated as "Enter" for single step.

       Note that during continuous mode only the
       following keys would halt the continuous
       process: C, ESC, and function keys.  The
       cursor keys will not halt continuous mode,
       instead, GAF performs the scroll and
       continue its simulation.

       There is an easy way to change the sampling
       rate in sim-schedule and simulated time mode. 
       That is to use the '+' and '-' keys.  By press
       '+' or '-' key, GAF adjusts the schedule rate
       or cycle time by increasing or decreasing an
       adjustable amount.  Please refer the Option
       menu section for setting the adjust amount. 
       The current sample rate value will be
       displayed in the hint window at the lower
       right corner of the screen.

   A: Adapt mode
       When adapt mode is selected, GAF starts
       adaptation of the selected control segment. 
       The followings must be specified before
       starting adaptation: the segment to be
       adapted (optimized), the evaluation segment,
       and the variable for the evaluation result. 
       GAF stops if any of the required is missing. 
       The following interactive interfaces are
       supported in adapt mode.
           C      : continue
           Alt-C  : switch to continuous mode
           Alt-P  : turn on iteration pause
           Alt-A  : turn on preset cycle pause
           Alt-Q  : quit the program
           ESC    : go to system menu bar
           F1 ~ F8: see function keys
           cursor keys to scroll up, down, right, and
           left of text window
           All other keys will pause adapting
           temporary.



1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@Option menu
   The option pull down menu allows user to change
   the simulation and evaluation environment. 
   Currently only following functions are supported.

   R: Real time mode
   T: Sim time mode
   S: Sim schedule mode
   K: Sim clock mode
       These four modes are the basic scheduling
       policy described in the Schedule Policy
       section.  The selected mode will be marked
       with "x" on the right.

   C: Sim schedule rate
       Use this option to set desired time interval
       in seconds for either simulated time mode or
       sim-schedule mode.  Current value id
       displayed on its right.

   I: Increment value
       As mentioned, an easy way to change the
       simulated schedule rate is to use the '+' and
       '-' keys to increase and decrease the
       schedule rate.  This option allows user to
       set the amount of increasing/decreasing, the
       default value is 0.005 second.


   E: Emulation segment
       This option is used to specify the feedback
       segment.  Normally, this option is only used
       to show the feedback segment, if proper key
       word (FEEDBACK or EMUL_SEGMENT) is used to
       define the emulation/feedback segment.  When
       selected, a secondary menu contains all
       segment names are displayed for further
       selection.

   V: Eval segment
       This option can be used to specify a user
       defined evaluation segment instead using
       EVAL_SEGMENT key word to declare it.  The
       current evaluation segment ID and its name
       are shown, if it is specified.  When selected,
       a secondary menu pops up with names of all
       segments to allow user to select the proper
       segment.

   A: Eval result variable
       Use this option to specify the evaluation
       result variable.  When selected, a secondary
       menu pops up with names of all variables of
       the specified evaluation segment to allow
       user to select the proper variable.  GAF uses
       "EVAL_RESULT" as default variable.

   B: Eval null band
       This option allows user to specify a null band
       of evaluation.  The null band is used by GAF
       to determine whether it's necessary to check
       there are identical generations or not.

1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@Segment Menu
   The segment menu offers user three major
   functions:
       Select a segment
       Change/modify the segment
       Control/change the display of the segment

   S: Segment number 
       Use this option to select a segment.  The
       default selected segment is the first
       segment (the segment 0).  The selected
       segment is displayed in the display window
       and title window.  When selected, a secondary
       menu pops up with names of all segments to
       allow user to select the proper segment.

   E: Segment enabled 
       To toggle enable or disable the selected
       segment.  If the segment is enabled it will be
       marked with "x".  Note that when a segment is
       disabled with this option, it will not be
       enabled by the "ENABLE" condition defined in
       the FCL, however, when the option is enabled
       then the "ENABLE" condition determines
       whether the segment is enabled or not.

   C: Cycle time
       Change the cycle time for the selected
       segment.  Note that the real cycle time may
       depend on the running mode and time mode
       been selected.  Refer to Schedule Policy
       section for more information.

   I: Set input value
   O: Set output value
   L: Set local variable value
       These options allow user to manually set a
       variable's value.  After select one of these
       options, GAF pops up a secondary menu with
       all variable names alone with their variable
       number.  Select a variable, GAF then requests
       for new value.  Enter the new desired value
       will close all menus.  Note that you can use
       F7 to initialize the system, see function key
       for detail.

   G: Set output gain
       Use this selection to change the gain of
       selected output.  Again, just like setting
       variable value, GAF asks for output variable
       and then the new gain value.

   N: Enable rule
   D: Disable rule
       GAF allows you to enable or disable the
       rule(s) in any of the running modes.  The
       disabled rules are marked with 'x' at the first
       column in text window.  Select one of these
       options, GAF then highlights the first rule at
       the second column in text window.  Use cursor
       keys to move highlighted cursor and then
       press 'Enter' to enable or disable the rule.

   A: Enable all rules
       This option gives user an easy way to enable
       all rules.

   R: Display result
       After changing the Display window's
       arrangement, i.e. selecting whole display or
       no plot mode, use this option to select the
       desired output you want to display.  Note
       that GAF automatically selects the first
       output for display, if none is selected.

   F: Display rule firing
       The above option (Display result) allows user
       to specify the output to display, this option
       allows user to select rule to be displayed
       with its detail inferencing in firing window. 
       When select this option, like disable/enable
       rule, GAF uses the text window for selecting
       menu.  Note that selected rules are marked
       with 'x'.

   M: Combined result only
       When this option is selected, GAF deselects
       all rules from displaying its inference (firing
       window).  So only the combined result will be
       displayed.

   P: Preset to
       Use this option to preset to a specific state
       defined by "PRESET" statements in segment(s). 
       GAF will prompt for the preset number. 
       Please refer to F8 of function key for
       similar function.


1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@Display Menu
   The display menu allows user to arrange and
   select the screen layout, text font, and color of
   the screen display.

   1: Use standard font
   2: Use small font
       With these two options, you can switch
       between normal text display or small font
       text display.

   3: Select normal display mode
       The normal display mode displays the text
       window on the left portion of the display
       window and the plot window on the right.  See
       window split for changing the size of text
       window.

   4: Select whole display mode
       In this mode the text window still occupies
       the left portion, but the right portion of the
       display window splits into two parts, the
       upper half shows the plot window, and the
       lower half displays the combined result
       and/or firing window.  See Segment section
       for more information about selecting rules
       and outputs.  See window split for changing
       size of text window.

   5: Select plot only mode
       This option allows you to see only the plot. 
       GAF dedicates the entire display window to
       plot sub-window except reduces the text
       window to only first two columns on the left,
       which shows the status and rule number.

   6: Select no plot mode
       This display mode removes plot window from
       the right portion.  So the combined result
       and/or firing window are displayed on the
       right along with text window on the left.

   7: Select text only mode
       This mode shows the text window only. 
       Because graphics, i.e. trend plot, combined
       result, and firing condition, takes much of
       CPU time, this mode allows you to speed up
       the test or control.

   P: Plot duration
       The default plot frame period is five seconds
       (except in auto clock mode).  Use this option
       to change the frame duration, the value is
       specified in seconds.

   C: Color/monochrome
       Use this option to switch between color and
       mono mode.

   W: Window split (Change size of text window)
       Allows user to change the size of the text
       window.  The value is specified in percent, i.e.
       60 means that text window occupies 60% of
       the display window.  If the value is greater
       than 90, GAF automatically switches to text
       only mode.  If the value is less than 10, GAF
       shuts text window off (except the left most
       two columns).

   D: Display local variable
       The default display mode is to display/plot
       IN, OUT, and INOUT variables. The LOCAL
       variables are not displayed.  Use this option
       to enable LOCAL variables.


1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@Adapt Menu
   The adapt menu is used to change the overall
   environment for genetic adaptation.  See the
   Method section for more information about
   controlling the genetic algorithm.

   C: Continuous mode
       Set the adaptation to continuous mode
       without pause or delay, unless user
       interferes.  The continuous mode is the
       default mode after starting adaptation.

   P: Iteration pause
   Y: Pause per cycle
       These two options allow user to halt the
       adapting process in order to examine it.  The
       iteration pause is to halt at the end of each
       iteration.  The cycle pause is to halt at the
       end of each preset cycle.  Type 'C' to
       continue, press Alt-C to switch back to
       continuous mode.  Also see Iteration and
       Cycle delay.

   S: Sample number
       Specifies number of samples should be taken
       for calculating each preset test's evaluation
       result.

   W: Weight increment
       GAF uses linear proportional weight for
       random selecting from the gene pool.  This
       option is to set the linear increment of the
       weight.  For example the increment is 2, then
       the weight for the best in the gene pool will
       be 2 * 100 = 200, and the weight for the worst
       in the pool will be 2.

   B: Max best items
       The number of items kept in the best list
       (gene pool).  The limit of this value is 1 to 10.

   I: Max iteration
       This allows user to specify the maximum
       number of iterations.  GAF stops after this
       number of iterations is reached.  If the value
       is less than or equal to 0, there is no limit.

   T: Test time
       As explained the test time is the time for
       each preset test before evaluate the result. 
       Use this to set the proper value, in general
       it should be greater than the rising time for
       the longest response in all preset tests.

   D: Iteration delay
   L: Cycle delay
       Instead pause for each iteration/preset
       cycle, users can specify time delay between
       iterations or preset cycles.  Zero value
       means continuous.

   O: Minimum score
       This value defines the minimum score for a
       successful preset test cycle.  GAF tries to
       go through all preset tests, but stops after
       any preset test failed to score the minimum
       value.  The default value is 0.6.

   A: Adapt segment
       Use this option to change the segment you
       want to adapt.  The name of the current
       selected adapt segment is shown on the next
       line in the menu.  When selected, a secondary
       menu pops up with names of all segments to
       allow user to select the proper segment. 
       Note that the selected adapt segment may
       not be the same as the selected display
       segment.

   U: Use best list
   G: Use original segment
       The first option allows user to pick one
       adaptation out of the best list and then
       switch to simulation mode for testing or
       debugging.  The "Use original segment" option
       allows user to switch back to the original
       segment, which is loaded from the file.

   R: Reset best list
       This option allows user to clear the gene
       pool, i.e. delete every sample in the gene
       pool.


1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@Method Menu
   The method menu allows user to control the
   adaptation algorithms by setting new weight
   factor.  A method can be disabled by setting zero
   weight.  For example, if no new rules are allowed
   then set "adding rules" to zero.  The method menu
   is divided into two parts, the upper half for
   changing weights for overall adapting methods. 
   The lower half is to change the detailed weight
   for specific adapting method.

   Z: Zero all weights
       This option zeros all weights in the upper
       half adapting methods.

   C: Change rules
       The option changes the overall weight for
       adapting existing rules.

   I: Adjust input set
   4: Adjust input set ...
       The first option (in the upper half) changes
       the overall weight for adapting input fuzzy
       membership set. The second option is used to
       change the detail adapting weights inside
       input set adaptation.  When the second option
       is selected, GAF pops up a sub menu under
       method menu.  The followings are options in
       the sub menu.

       M: Mutate
           Use this option to set the weight of
           mutation.

       C: Crossover
           To set the weight of crossover for
           adjusting fuzzy set.

       I: Intensify/dilute
           Set the weight of intensify and dilute
           for adjusting fuzzy input set.

       B: Broaden/restrict
           Set the weight of broaden and restrict
           for adjusting fuzzy input set.

       S: Shift fuzzy set
           Set the weight of shift fuzzy input set.

       T: Change truth
           Set the weight of adjusting the truth of
           an input set.

       K: Scale (0 - 1)
           The scale factor defines how much change
           is allowed for the above methods, except
           mutate and crossover.  The amount is the
           percentage of the member set.  One means
           100% and zero means none.

   A: Adding new rule
       This option sets the weight of adding new
       rules into the adapting segment.  See Maximum
       rules to define the limit of rules.

   E: En/dis-able rule
       This option sets the weight of enable/disable
       existing rules in the adapting segment.

   T: Alter cycle time
       This option sets the overall weight of
       altering cycle time of the segment.  The range
       of cycle time can be specified with max and
       min cycle time.

   G: Alter output gain
       This option sets the weight of adjusting the
       output gain to form a new generation.

   1: Max cycle time
   2: Min cycle time
       These two values clamp the sample rate, the
       cycle time of the segment.  GAF will not
       exceed these limits during adaptation when
       adapting of cycle time is enabled (the weight
       for alter cycle time is greater than 0).

   3: Maximum rules
       This option allows user to set a limit for
       number of rules is allowed during adaptation. 
       If the number is less than 1 there will be no
       limit.




1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@Function Keys

   F1: Get help
       GAF provides context sensitive help.  Press
       F1 to call up the on-line help.  Inside help you
       can jump to other topic by selecting listed
       topic.

   F2: Display the system info
       Press F2 to see the system limits.  The
       system info shows the version of GAF, system
       wide limits, and current free memory status.
       IO length (in bits)
           the supported analog IO bits
       Number of sets per segment
           maximum number of fuzzy input sets in a
           segment
       Number of rules per segment
           maximum number of rules in a segment
       Total variables per segment
           maximum number of variables (IN, OUT, and
           LOCAL) in a segment
       Number of segments
           maximum number of segments in the
           system
       Number of fuzzy symbols
           maximum number of fuzzy symbols in a
           segment
       Name length (IO & symbol)
           number of characters for names (variable
           name or symbol name)
       Number of best genes
           the maximum limit of the gene pool (best
           list)

   F3: Next segment
       Press F3 to switch the display segment, i.e.,
       cycle through all segments.

   F4: View segment information
       Press F4 to see the variable definition,
       initialization and run functions, and other
       information for the selected display segment.

   F5: View symbol definition
       Press F5 to see the fuzzy set symbols'
       definition for this segment.

   F6: View preset definition
       Press F6 to see the preset definition for
       this segment.

   F7: Initialize the system
       The F7 function key allows you to initialize
       the system.  This is defined in each
       segment's INITIALIZATION declaration.  GAF
       goes through all segments executes the
       initialization defined in each segment and
       initialize the segment scheduler.

   F8: Preset the system
       The F8 function key allows users cycle
       through all presets defined for all segments
       during simulation.

   F9: Zero the system
       Press F9 to zero all the inputs and outputs
       for all the segments during simulation.


1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@Command Syntax
   The command syntax for GA FuzzyWare is:
       GAF [switches] [segment files]

   Available command switches are:
       /DIR=dir_path  to specify the default
                      directory for segment files
       /CFG=file_name to specify the configuration
                      file
       /H or /?       help

   Examples:
     GAF /dir=c:\gaf a1.seg a2.seg a3.seg
           specifies all a1 ~ a3 files are under
           c:\gaf directory.

     GAF /dir=c:\gaf app.s0 /dir=c:\app app.s1 app.s2
           specifies app.s0 under c:\gaf, both
           app.s1 and app.s2 are under c:\app
           directory.


1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@Configuration
   When starts up, GAF searches configuration file
   in following order
       specified by /CFG command switch
       "GAF.CFG" under current directory
       "GAF.CFG" at where GAF.EXE resides
   The configuration file is a text file for setting
   up the GAF environment.  The format of the
   configuration file is a series of "attribute =
   attribute_value;".  The attribute can be in any
   order and can be defined multiple times with the
   latter value overrides the previous value.  The
   configuration attribute can also be included
   inside FCL module file by enclosing it within
   "CONFIGURATION" and "END_CONFIGURATION;"
   keywords.  Because FCL modules are processed
   after GAF.CFG, so FCL's configuration will
   override GAF.CFG.  Please refer to FCL.DOC for
   details.

1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations

@GAF demonstrations
There are two demos included in the distribution files:
    - robot arm simulation and
    - water tank heater simulation.

Robot arm simulation:
  Enter "demo" at DOS prompt to start robot arm
  simulation.  The robotarm example includes feedback
  data (or rules) and evaluation.  After demo started,
  use 'R'un-'S'im to start simulation, use 'R'un-
  'A'dapt to adapt the cotrol rules.  Please refer to
  demo.doc for more details.

Water tank heater simulation
  Enter "demotank" at DOS prompt to start water tank
  heater simulation.  Please refer tutorial.doc for
  details.

1: Running Modes
2: Schedule Policy
3: Emulation
4: GAF Adaptation
5: System Menu
6: GAF Windows
7: File Menu
8: Run Menu
9: Option Menu
A: Segment Menu
B: Display Menu
C: Adapt Menu
D: Method Menu
E: Function Keys
F: Command Syntax
G: Configuration
H: GAF demonstrations
